package sgsi.model.alocacion;


public  enum CriterioArea {	
	CAPACIDAD(1, "Criterio por Capacidad"),
	CLIENTE(2, "Criterio Por Cliente");
	
	private String descripcion;
	private int codigo;
	
	private CriterioArea(int codigo, String descripcion) {
		this.codigo = codigo;
		this.descripcion = descripcion;
	}

	public String getDescripcion() {
		return this.descripcion;
	}

	public int getCodigo() {
		return codigo;
	}
	
	public static CriterioOrdenAreas CrearCriterio(int codigo) throws Exception{
		
		if (CAPACIDAD.codigo == codigo) {
			return new CriterioOrdenAreasPorCapacidad();
		}
		else if (CLIENTE.codigo == codigo) {
			return new CriterioOrdenAreasPorCliente();
		}
		
		throw new Exception("Codigo de Criterio invalido: " + codigo);
	}
}
